<template>
	<!-- 通用单页 -->
	<view class="app">
		<view class="single-bar">
			<view class="single-item">
				<view class="title">{{formData.title}}</view>
				<image v-if="formData.mode == 'image'" :src="formData.image" mode="aspectFit"></image>
				<iframe v-else-if="formData.mode=='pdf'" scrolling="none" :src="webviewUrl"
					style="width:100%;height:100%;min-height: 500px;"></iframe>
				<!-- <web-view v-else-if="formData.mode=='pdf'" :src="webviewUrl"></web-view> -->
				<view v-else class="text">
					<image v-if="formData.images" :src="formData.images" mode="aspectFit"></image>
					<view class="">{{formData.content}}</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	import config from "@/app.config.js";

	export default {
		data() {
			return {
				formData: {},
			}
		},
		onLoad(options = {}) {
			// console.log('href', window.location.href);
			// console.log('hostname', window.location.hostname);
			// console.log('pathname', window.location.pathname);
			// console.log('hash', window.location.hash);

			const eventChannel = this.getOpenerEventChannel();
			// 监听data事件，获取上一页面通过eventChannel.emit传送到当前页面的数据
			if (eventChannel.on) {
				eventChannel.on('data', (data) => {
					console.log('eventChannel', data)
					this.formData = data;
					uni.setNavigationBarTitle({
						title: this.formData.title
					})
					if (this.formData.mode == 'pdf') this.parsePdf();
				});
			}
		},
		methods: {
			pageTo(path) {
				vk.navigateTo(path);
			},
			parsePdf() {
				// #ifdef H5
				this.getPdfUrl = this.$tools.getPdfUrl(this.formData.file)
				// #endif
				// #ifndef H5
				this.openPDF();
				// #endif
			},
			openPDF() {
				// console.log("uni.getSystemInfoSync().platform", uni.getSystemInfoSync().platform);
				// vk.toast(uni.getSystemInfoSync().platform);
				switch (uni.getSystemInfoSync().platform) {
					case "android":
						// 安卓调用uni.downloadFile + uni.openDocument
						this.androidOpenPdf(this.formData.file);
						break;
					case "ios":
						// IOS 跳转web-view页面
						uni.navigateTo({
							url: "/pages/web_view/web_view?url=" + this.formData.file,
						});
						break;
					default:
						this.androidOpenPdf(this.formData.file);
						break;
				}
			},
			//这里的 url 就是pdf文件的路径，直接调用此方法就可以打开pdf文件
			// 微信下载文件需要在微信公众平台>开发>开发管理>服务器域名>downloadFile合法域名>配置白名单域名
			androidOpenPdf(url) {
				uni.downloadFile({
					url,
					success: function(res) {
						var filePath = res.tempFilePath;
						uni.openDocument({
							filePath: filePath,
							showMenu: true, // 右上角菜单，可以进行分享保存pdf
							success: function(res) {
								uni.navigateBack({
									delta: 1
								});
							},
							fail: (err) => {
								uni.showToast({
									title: '打开文件失败' + JSON.stringify(err),
									icon: 'none',
									duration: 2000
								});
							}
						});
					},
					fail: (err) => {
						uni.showToast({
							title: '下载文件失败' + JSON.stringify(err),
							icon: 'none',
							duration: 2000
						});
					}
				});
			}
		},
		// 监听器
		watch: {

		},
		// 计算属性
		computed: {

		},
	}
</script>

<style lang="scss">
	.app {
		margin: auto;
		width: 80%;
	}

	.title {
		margin: 50rpx 0;
		font-size: 24px;
		font-weight: 700;
		text-align: center;
	}
</style>